package com.java.base.exercise.designmode.observer;

/**
 * @Author RenPu
 * @Date 2021/6/27 13:55
 * @Version 1.0
 * @Description: 设计模式--观察者模式1.0   多个观察者对应一个被观察者
 **/
public class ObserverV2 {

    public static void main(String[] args) {
        Childv2 child = new Childv2();
        child.weakUp();
    }


}


/**
 * 被观察者
 */
class Childv2 {
    boolean cry = false;
    Dad dad = new Dad();
    Mom mom = new Mom();
    Dog dog = new Dog();

    public boolean isCry() {
        return cry;
    }

    public void weakUp() {
        cry = true;
        dad.feed();
        mom.embrace();
        dog.call();
    }


}


/**
 * 观察者
 */
class Dad2 {

    //爸爸喂
    public void feed() {
        System.out.println("dad  feeding ...........");
    }
}


/**
 * 观察者
 */
class Mom {

    //妈妈抱
    public void embrace() {
        System.out.println("Mum  embracing ...........");
    }
}


/**
 * 观察者
 */
class Dog {
    public void call() {
        System.out.println("dog call ...........");
    }
}